function MonsterTwo (pointManager) {
  this.pointManager = pointManager;
  this.step = 0;
  this.sprite = null;
  this.alive = true;
  this.id = (new Date().getTime())+Math.floor(Math.random(100)*100);

  this.move = 0;
}

MonsterTwo.prototype.init = function() {
  var x = this.pointManager.getPoint(0).x;
  var y = this.pointManager.getPoint(0).y;

  this.sprite = game.add.sprite(x, y , 'imageList', 'enemyLeft2_1.png');
  this.sprite.id = this.id;
  this.sprite.anchor = { x: 0.5, y: 0.5};
  this.sprite.health = 7;
  this.sprite.sd = 5000;
  this.sprite.animations.add('left', ['enemyLeft2_1.png', 'enemyLeft2_2.png', 'enemyLeft2_3.png', 'enemyLeft2_4.png']);
  this.sprite.animations.play('left', 10, true);

  this.hpBar = game.add.sprite(10, 5, 'imageList', 'hp1.png');
  this.hpBd = game.add.sprite(-70, -50, 'imageList', 'hpBg1.png');
  this.hpBd.addChild(this.hpBar);
  this.sprite.addChild(this.hpBd);
  game.physics.enable(this.sprite, Phaser.Physics.ARCADE);

  this.startMove();
};

MonsterTwo.prototype.startMove = function() {
  this.sprite.rotation = -90;
  var nextPoint = this.pointManager.getNextPoint(this.step);
  if (!nextPoint) {
    return ;
  }
  this.step ++ ;
  var monsterMove = game.add.tween(this.sprite);
  
  this.sprite.rotation += game.physics.arcade.angleToXY(this.sprite, nextPoint.x,  nextPoint.y);
  this.move = monsterMove.to({x:nextPoint.x, y: nextPoint.y}, 10000, Phaser.Easing.Linear.None);
  monsterMove.onComplete.add(this.startMove, this);
  monsterMove.start();
}

MonsterTwo.prototype.damage = function() {
  if (this.sprite.health <= 1) {
    this.alive = false;
    this.sprite.kill();
    return true;
  }
  this.sprite.health --;
  this.hpBar.scale.x = this.sprite.health / 7;
  return false;
}